#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int SLDataType;

typedef struct SeqList
{
	SLDataType* a;
	int size;
	int capacity;
}SeqList;

void SeqListInit(SeqList* psl);
void SeqListDestory(SeqList* psl);

void SeqListPrint(SeqList* psl);

void SeqListCheckCapacity(SeqList* psl);

void SeqListsPushBack(SeqList* psl, SLDataType x);
void SeqListPopBack(SeqList* psl);

void SeqListPushFront(SeqList* psl, SLDataType x);
void SeqListPopFront(SeqList* psl);

void SeqListInsert(SeqList* psl, size_t pos, SLDataType x);

void SeqListErase(SeqList* psl, size_t x);

int SeqListFind(SeqList* psl, SLDataType x);

void SeqListModify(SeqList* psl, size_t pos, SLDataType x);